package cl.ucinf.progii.solemne1.data.home;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import cl.ucinf.progii.solemne1.data.Conexion;
import cl.ucinf.progii.solemne1.data.dbo.UsuarioDBO;

public class UsuarioHome {

	public List<UsuarioDBO> getAll(){
		List<UsuarioDBO> salida = new ArrayList<UsuarioDBO>();
		
		Conexion conn = new Conexion();
		
		ResultSet res = conn.executeQuery("select * from usuario;");
		try {
			while (res.next()){
				
				UsuarioDBO temp = new UsuarioDBO();
				temp.setId(res.getInt("idusuario"));
				temp.setNombre(res.getString("nombre"));
				temp.setApellido(res.getString("apellido"));
				
				salida.add(temp);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		conn.cerrar();
		
		return salida;
	}
	
	
	public UsuarioDBO getByUserAndPass(String user, String pass){
		
		
		Conexion conn = new Conexion();
		
		String sql = "select * " +
			"	from usuario " +
			"where " +
			"	usuario=? AND " +
			"	pass=?";
		
		PreparedStatement res = conn.getPreparedStatement(sql);
		UsuarioDBO temp = null;
		try {
			res.setString(1, user);
			res.setString(2, pass);
			
			ResultSet res2 = res.executeQuery();
			
			if (res2.next()){
				temp = new UsuarioDBO();
				
				temp.setId(res2.getInt("idusuario"));
				temp.setNombre(res2.getString("nombre"));
				temp.setApellido(res2.getString("apellido"));
				
			
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		
		conn.cerrar();
		
		return temp;
	}
	

	public static void main (String[] args){
		UsuarioHome home = new UsuarioHome();
		List<UsuarioDBO> out = home.getAll();
		
		
		System.out.println(out);
	}
	
}
